package xhw.log4j;


import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;

/**
 * @Description
 * @Date 2023/11/19 18:58
 * @Author huangdw
 */
public class JULDemo {

    public void testlog() {

        //获取日志对象
        Logger logger = Logger.getLogger("xhw.log4j.JULDemo");


        //关闭系统默认配置
        logger.setUseParentHandlers(false);

        //定义配置日志级别
        ConsoleHandler consoleHandler = new ConsoleHandler();

        //转换对象
        SimpleFormatter simpleFormatter = new SimpleFormatter();

        //关联
        consoleHandler.setFormatter(simpleFormatter);
        logger.addHandler(consoleHandler);

        //配置日志具体级别
        logger.setLevel(Level.ALL);
        consoleHandler.setLevel(Level.ALL);


        //日志记录输出
        logger.severe("severe是最高级别");
        logger.warning("warning输出");
        logger.info("info是默认的输出");
        logger.config("config没有展示在控制台");
        logger.fine("fine也没有展示在控制台");
        logger.finest("finest也没有展示在控制台");


        //输出指定日志级别的日志记录
        logger.log(Level.WARNING, "指定一个warning级别");

        //占位符形式
        String name = "这是一个占位符";
        int age = 18;
        logger.log(Level.INFO, "name , age 输出了{0},{1}", new Object[]{name, age});


        //异常堆栈信息
        logger.log(Level.SEVERE, "空值报错", new NullPointerException());


    }
}
